﻿using System.Drawing;
using ShadeTree.Binding.Drivers;

namespace ShadeTree.Binding
{
    public interface IScreenElement
    {
        ActivationMode ActivationMode { get; set; }
        IControlDriver Label { get; set; }
        IControlDriver PostLabel { get; set; }
        string Alias { get; set; }
        string LabelText { get; }


        object Control { get; }
        void EnableControl(IScreenState state);

        bool Matches(string labelText);
        void Focus();
        void CopyFrom(IScreenDriver driver);
        void Hide();
        void Show();
        void Highlight(Color color);
        void RemoveHighlight();
        void UpdateDisplayState(object target);
        void BindVisibilityTo(Accessor accessor);
        void BindEnabledTo(Accessor accessor);
        void Enable();
        void Disable();

        string ToolTipText { get; set;}
    }
}